 package CurtainDesign;

 import CurtainDesign.utils.CurtainChecker;
 import NewOrderXmlbean.OrderDocument;
 import NewOrderXmlbean.OrderDocument.Factory;
 import NewOrderXmlbean.Orderinfo;
 import java.awt.Font;
 import java.awt.GraphicsEnvironment;
 import java.awt.GridLayout;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.io.File;
 import java.io.IOException;
 import java.util.Hashtable;
 import javax.swing.JButton;
 import javax.swing.JFileChooser;
 import javax.swing.JOptionPane;
 import javax.swing.JPanel;
 import javax.swing.filechooser.FileFilter;

 public class NaviView extends JPanel
 {
   protected JButton m_SelectBt;
   protected JButton m_NewBt; // 新建订单信息按钮
   protected JButton m_CalculateBt; // 输出工单按钮
   protected JButton m_SaveAsBt;
   protected JButton m_SaveBt;
   protected JButton m_OpenBt;
   protected JButton m_PrintShippingMark; // 输出唛头
   protected static String m_OpenPath;
   protected static File m_OpenFile;
   protected static String m_SavePath;
   protected static File m_SaveFile;
   protected static String m_WorkSheetPath;
   protected static boolean m_JustSaved = false;

   protected static boolean m_NewOpenFile = true;

   public NaviView()
   {
     try {
       jbInit();
     }
     catch (Exception ex) {
       ex.printStackTrace();
     }
   }

   private void jbInit()
     throws Exception
   {
     String[] temp = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();

     setLayout(new GridLayout(7, 1, 50, 10));
     this.m_SelectBt = new JButton("选择款式");
     this.m_SelectBt.setFont(new Font("宋体", 0, 16));

     this.m_SaveAsBt = new JButton("另存订单信息");
     this.m_SaveAsBt.setFont(new Font("Serif", 0, 16));
     this.m_NewBt = new JButton("新建订单信息");
     this.m_NewBt.setFont(new Font("Serif", 0, 16));
     this.m_NewBt.setEnabled(false);

     this.m_CalculateBt = new JButton("输出工单");
     this.m_CalculateBt.setFont(new Font("Serif", 0, 16));
     this.m_CalculateBt.setEnabled(false);
     this.m_SaveAsBt.setEnabled(false);
     this.m_SaveBt = new JButton("保存");
     this.m_SaveBt.setFont(new Font("Serif", 0, 16));
     this.m_SaveBt.setEnabled(false);

     this.m_OpenBt = new JButton("打开订单文件");
     this.m_OpenBt.setFont(new Font("宋体", 0, 16));
     this.m_OpenBt.setEnabled(true);

     this.m_PrintShippingMark = new JButton("输出唛头");
     this.m_PrintShippingMark.setFont(new Font("宋体", 0, 16));
     this.m_PrintShippingMark.setEnabled(false);

     add(this.m_SelectBt);

     add(this.m_NewBt);
     add(this.m_SaveBt);
     add(this.m_SaveAsBt);
     add(this.m_CalculateBt);
     add(this.m_PrintShippingMark);
     add(this.m_OpenBt);

     this.m_SelectBt.addActionListener(new ActionListener()
     {
       public void actionPerformed(ActionEvent e)
       {
         if ((NaviView.m_NewOpenFile) && (CurtainDesign.m_UserMainGUI.GetCurrentViewName().equals(Constants.TODO[1]))) {
           int answer = JOptionPane.showConfirmDialog(CurtainDesign.m_UserMainGUI, "该订单文件尚未保存，是否保存？");
           if (answer == 2) {
             return;
           }
           if ((answer == 0) &&
             (!NaviView.this.OnSaveAs())) {
             return;
           }
         }

         CurtainDesign.m_UserMainGUI.DisableCalcBt();
         CurtainDesign.m_UserMainGUI.EnableOpenBt();
         CurtainDesign.m_UserMainGUI.DisableSaveAsBt();
         CurtainDesign.m_UserMainGUI.DisableSaveBt();
         CurtainDesign.m_UserMainGUI.SwitchWindow(Constants.TODO[0]);
         CurtainDesign.m_UserMainGUI.setVisible(true);
       }
     });
     this.m_NewBt.addActionListener(new ActionListener()
     {
       public void actionPerformed(ActionEvent e)
       {
         if (CurtainDesign.m_UserMainGUI.GetOrderInfo() == null) {
           CurtainDesign.m_UserMainGUI.SwitchWindow(Constants.TODO[1]);
         }
         CurtainDesign.m_UserMainGUI.GetOrderInfo().Clean();
         CurtainDesign.m_UserMainGUI.SwitchWindow(Constants.TODO[1]);
         CurtainDesign.m_UserMainGUI.setVisible(true);
         CurtainDesign.m_UserMainGUI.DisableSaveBt();
         CurtainDesign.m_UserMainGUI.EnableSaveAsBt();
         CurtainDesign.m_UserMainGUI.DisableCalcBt();
         CurtainDesign.m_UserMainGUI.DisablePrintShippingMark();
         NaviView.m_NewOpenFile = true;
         NaviView.m_JustSaved = false;
         if ((CurtainDesign.m_UserMainGUI.GetSelectStyle().equals(Constants.STYLES[0])) || (CurtainDesign.m_UserMainGUI.GetSelectStyle().equals(Constants.STYLES[1])) || (CurtainDesign.m_UserMainGUI.GetSelectStyle().equals(Constants.STYLES[2]))) {
           CurtainDesign.m_UserMainGUI.EnableOpenBt();
           CurtainDesign.m_UserMainGUI.GetOrderInfo().SaveStyle(CurtainDesign.m_UserMainGUI.GetSelectStyleInt());
         }
       }
     });
     // 输出工单按钮
     this.m_CalculateBt.addActionListener(new ActionListener()
     {
       public void actionPerformed(ActionEvent e)
       {
         String filepath = null;

         OrderInfo m_OrderInfo = CurtainDesign.m_UserMainGUI.GetOrderInfo();
         ResultInfo resultInfo;
         if (m_OrderInfo.GetStyle() == 0) {
           ResultInfoRectSimple resultRectSimple = new ResultInfoRectSimple();
           resultInfo = resultRectSimple;
         }
         else
         {
           if (m_OrderInfo.GetStyle() == 1)
           {
             ResultInfoByFold resultByFold = new ResultInfoByFold();
             resultInfo = resultByFold;
           }
           else
           {
             if (m_OrderInfo.GetStyle() == 2)
             {
               ResultInfoByPass resultByPass = new ResultInfoByPass();
               resultInfo = resultByPass;
             }
             else
             {
               JOptionPane.showMessageDialog(null, "系统暂不支持此种类型", "错误", 0);
               return;
             }
           }
         }
         if (resultInfo.Calculate() == true)
         {
           CurtainDesign.m_UserMainGUI.enablePrintShippingMark();

           resultInfo.DrawPic();

           JFileChooser jfc = new JFileChooser(NaviView.m_WorkSheetPath);
           jfc.setFont(new Font("Dialog", 0, 13));
           jfc.setFileFilter(new FileFilter()
           {
             public boolean accept(File f)
             {
               boolean accept = true;
               if (f.isFile()) {
                 accept = f.getName().endsWith("pdf");
               }
               return accept;
             }

             public String getDescription()
             {
               return "工单文件 (*.pdf)";
             }
           });
           String defaultname = "" + CurtainDesign.m_UserMainGUI.GetOrderInfo().GetOrderIndex() + "_";
           defaultname = defaultname + CurtainDesign.m_UserMainGUI.GetOrderInfo().GetClientRegion() + "_";
           defaultname = defaultname + CurtainDesign.m_UserMainGUI.GetOrderInfo().GetWindowIndex() + "_";
           defaultname = defaultname + CurtainDesign.m_UserMainGUI.GetOrderInfo().GetWindowNum();
           File tmpfile;
           if ((NaviView.m_WorkSheetPath == null) || (NaviView.m_WorkSheetPath.equals(""))) {
             tmpfile = new File(defaultname);
           }
           else {
             String savedir = NaviView.m_WorkSheetPath.substring(0, NaviView.m_WorkSheetPath.lastIndexOf(File.separator));
             tmpfile = new File(savedir + File.separator + defaultname);
           }
           jfc.setSelectedFile(tmpfile);
           if (jfc.showSaveDialog(CurtainDesign.m_UserMainGUI) == 0) {
             filepath = jfc.getSelectedFile().getPath();
             if (!filepath.endsWith("pdf")) {
               filepath = filepath + ".pdf";
             }
             File check = new File(filepath);
             if (check.exists()) {
               int answer = JOptionPane.showConfirmDialog(CurtainDesign.m_UserMainGUI, "该工单文件已存在，是否要覆盖？");
               if ((answer == 1) || (answer == 2)) {
                 return;
               }
             }

             NaviView.m_WorkSheetPath = jfc.getSelectedFile().getPath();

             if (!resultInfo.Output(filepath))
               return;
             int answer = JOptionPane.showConfirmDialog(CurtainDesign.m_UserMainGUI, "是否现在打开工单文件？");
             if ((answer == 1) || (answer == 2))
               return;
             Process p;
             try {
               String strAdobePath = (String)Constants.m_HashConfig.get("Adobe");
               p = Runtime.getRuntime().exec(strAdobePath + " " + filepath);
             }
             catch (IOException f)
             {
             }
           }
         }
       }
     });
     this.m_SaveAsBt.addActionListener(new ActionListener()
     {
       public void actionPerformed(ActionEvent e)
       {
         NaviView.this.OnSaveAs();
       }
     });
     this.m_SaveBt.addActionListener(new ActionListener()
     {
       public void actionPerformed(ActionEvent e)
       {
         NaviView.this.OnSave();
       }
     });
     this.m_OpenBt.addActionListener(new ActionListener()
     {
       public void actionPerformed(ActionEvent e)
       {
         NaviView.this.OnOpen();
         CurtainDesign.m_UserMainGUI.EnableSaveBt();
       }
     });
     this.m_PrintShippingMark.addActionListener(new ActionListener()
     {
       public void actionPerformed(ActionEvent e)
       {
         CurtainDesign.m_UserMainGUI.SwitchWindow(Constants.TODO[4]);
         CurtainDesign.m_UserMainGUI.setVisible(true);
       }
     });
   }

   public void EnableNewBt() {
     this.m_NewBt.setEnabled(true);
   }

   public void DisableNewBt()
   {
     this.m_NewBt.setEnabled(false);
   }

   public void EnableCalcBt()
   {
     this.m_CalculateBt.setEnabled(true);
   }

   public void DisableCalcBt()
   {
     this.m_CalculateBt.setEnabled(false);
   }

   public void EnableSaveAsBt()
   {
     this.m_SaveAsBt.setEnabled(true);
   }

   public void DisableSaveAsBt()
   {
     this.m_SaveAsBt.setEnabled(false);
   }

   public void EnableSaveBt()
   {
     this.m_SaveBt.setEnabled(true);
   }

   public void DisableSaveBt()
   {
     this.m_SaveBt.setEnabled(false);
   }

   public void EnableOpenBt()
   {
     this.m_OpenBt.setEnabled(true);
   }

   public void DisableOpenBt()
   {
     this.m_OpenBt.setEnabled(false);
   }

   public void enablePrintShippingMark()
   {
     this.m_PrintShippingMark.setEnabled(true);
   }

   public void DisablePrintShippingMark()
   {
     this.m_PrintShippingMark.setEnabled(false);
   }

   private void OnOpen()
   {
     JFileChooser jfc = new JFileChooser(m_OpenPath);
     jfc.setFileFilter(new FileFilter()
     {
       public boolean accept(File f)
       {
         boolean accept = true;
         if (f.isFile()) {
           accept = f.getName().endsWith("xml");
         }
         return accept;
       }

       public String getDescription()
       {
         return "订单文件 (*.xml)";
       }
     });
     if (jfc.showOpenDialog(CurtainDesign.m_UserMainGUI) == 0) {
       m_OpenPath = jfc.getSelectedFile().getPath();
       m_OpenFile = new File(jfc.getSelectedFile().getPath());
       String style = ReadOrderFileType(m_OpenFile.getPath());
       if (CurtainDesign.m_UserMainGUI.GetSelectStyle().equals(style))
       {
         MainView.m_SelectStyleView.SetStyleChanged(false);
       }
       else {
         MainView.m_SelectStyleView.SetStyleChanged(true);
       }
       CurtainDesign.m_UserMainGUI.SetSelectStyle(style);
       MainView.m_SelectStyleView.SetRadioBtSelected(style);
       if (CurtainDesign.m_UserMainGUI.GetOrderInfo() != null) {
         CurtainDesign.m_UserMainGUI.GetOrderInfo().Clean();
       }

       CurtainDesign.m_UserMainGUI.SwitchWindow(CurtainDesign.m_UserMainGUI.GetSelectStyle(), m_OpenFile.getPath());
       m_NewOpenFile = false;
     }
   }

   private boolean OnSaveAs()
   {
     if (CurtainChecker.isEmpty(CurtainDesign.m_UserMainGUI.GetOrderInfo().GetOrderIndex())) {
       JOptionPane.showMessageDialog(null, "请输入订单编号", "错误", 0);
       return false;
     }
     if (CurtainChecker.isEmpty(CurtainDesign.m_UserMainGUI.GetOrderInfo().GetClientRegion())) {
       JOptionPane.showMessageDialog(null, "请输入客户名称", "错误", 0);
       return false;
     }
     if (CurtainChecker.isEmpty(CurtainDesign.m_UserMainGUI.GetOrderInfo().GetWindowIndex())) {
       JOptionPane.showMessageDialog(null, "请输入窗户编号", "错误", 0);
       return false;
     }
     if (CurtainChecker.isEmpty(CurtainDesign.m_UserMainGUI.GetOrderInfo().GetWindowNum())) {
       JOptionPane.showMessageDialog(null, "请输入窗户总数", "错误", 0);
       return false;
     }

     JFileChooser jfc = new JFileChooser(m_SavePath);
     jfc.setFont(new Font("Dialog", 0, 13));
     jfc.setFileFilter(new FileFilter()
     {
       public boolean accept(File f)
       {
         boolean accept = true;
         if (f.isFile()) {
           accept = f.getName().endsWith("xml");
         }
         return accept;
       }

       public String getDescription()
       {
         return "订单文件 (*.xml)";
       }
     });
     StringBuffer nameBuff = new StringBuffer();
     nameBuff.append(CurtainDesign.m_UserMainGUI.GetOrderInfo().GetOrderIndex()).append("_");
     nameBuff.append(CurtainDesign.m_UserMainGUI.GetOrderInfo().GetClientRegion()).append("_");
     nameBuff.append(CurtainDesign.m_UserMainGUI.GetOrderInfo().GetWindowIndex()).append("_");
     nameBuff.append(CurtainDesign.m_UserMainGUI.GetOrderInfo().GetWindowNum());
     File tmpfile;
     if ((m_SavePath == null) || (m_SavePath.equals(""))) {
       tmpfile = new File(nameBuff.toString());
     }
     else {
       String savedir = m_SavePath.substring(0, m_SavePath.lastIndexOf("\\"));
       tmpfile = new File(savedir + "\\" + nameBuff.toString());
     }
     jfc.setSelectedFile(tmpfile);
     if (jfc.showSaveDialog(CurtainDesign.m_UserMainGUI) == 0) {
       String filepath = jfc.getSelectedFile().getPath();
       if (!filepath.endsWith("xml")) {
         filepath = filepath + ".xml";
       }
       File check = new File(filepath);
       if (check.exists()) {
         int answer = JOptionPane.showConfirmDialog(CurtainDesign.m_UserMainGUI, "该订单文件已存在，是否要覆盖？");
         if ((answer == 1) || (answer == 2)) {
           return false;
         }

         String currentfields = CurtainDesign.m_UserMainGUI.GetOrderInfo().GetOrderIndex() + "_" + CurtainDesign.m_UserMainGUI.GetOrderInfo().GetClientRegion() + "_" + CurtainDesign.m_UserMainGUI.GetOrderInfo().GetWindowIndex() + "_" + CurtainDesign.m_UserMainGUI.GetOrderInfo().GetWindowNum() + ".xml";
         if (!currentfields.equals(check.getName()))
         {
           JOptionPane.showMessageDialog(CurtainDesign.m_UserMainGUI, "订单编号、客户区域、窗户编号或者窗户总数与现有文件名不符合，不能覆盖现有文件", "错误", 0);
           return false;
         }
         m_OpenFile = new File(filepath);
         CurtainDesign.m_PipeIndexFile.AppendPipeIndexFile(CurtainDesign.m_UserMainGUI.GetSelectStyle(), true);

         CurtainDesign.m_orderfile.WriteOrderFile(filepath, m_NewOpenFile, true);
       }
       else
       {
         CurtainDesign.m_PipeIndexFile.AppendPipeIndexFile(CurtainDesign.m_UserMainGUI.GetSelectStyle(), false);

         CurtainDesign.m_orderfile.WriteOrderFile(filepath, m_NewOpenFile, false);
         m_OpenFile = new File(filepath);
       }
       m_SavePath = jfc.getSelectedFile().getPath();
       if (!m_SavePath.endsWith("xml")) {
         m_SavePath += ".xml";
       }
       CurtainDesign.m_UserMainGUI.EnableSaveBt();
       CurtainDesign.m_UserMainGUI.SwitchWindow(Constants.TODO[1]);
       m_JustSaved = true;
       m_NewOpenFile = false;
     }
     return true;
   }

   private boolean OnSave()
   {
     if ((CurtainDesign.m_UserMainGUI.GetOrderInfo().GetOrderIndex() == null) || (CurtainDesign.m_UserMainGUI.GetOrderInfo().GetOrderIndex().equals(""))) {
       JOptionPane.showMessageDialog(null, "请输入订单编号", "错误", 0);
       return false;
     }
     if ((CurtainDesign.m_UserMainGUI.GetOrderInfo().GetClientRegion() == null) || (CurtainDesign.m_UserMainGUI.GetOrderInfo().GetClientRegion().equals(""))) {
       JOptionPane.showMessageDialog(null, "请输入客户名称", "错误", 0);
       return false;
     }
     if ((CurtainDesign.m_UserMainGUI.GetOrderInfo().GetWindowIndex() == null) || (CurtainDesign.m_UserMainGUI.GetOrderInfo().GetWindowIndex().equals(""))) {
       JOptionPane.showMessageDialog(null, "请输入窗户编号", "错误", 0);
       return false;
     }
     if ((CurtainDesign.m_UserMainGUI.GetOrderInfo().GetWindowNum() == null) || (CurtainDesign.m_UserMainGUI.GetOrderInfo().GetWindowNum().equals(""))) {
       JOptionPane.showMessageDialog(null, "请输入窗户总数", "错误", 0);
       return false;
     }

     if ((m_OpenPath != null) && (!m_OpenPath.equals("")))
     {
       String currentfields = CurtainDesign.m_UserMainGUI.GetOrderInfo().GetOrderIndex() + "_" + CurtainDesign.m_UserMainGUI.GetOrderInfo().GetClientRegion() + "_" + CurtainDesign.m_UserMainGUI.GetOrderInfo().GetWindowIndex() + "_" + CurtainDesign.m_UserMainGUI.GetOrderInfo().GetWindowNum();
       String shortname = m_OpenPath.substring(m_OpenPath.lastIndexOf("\\") + 1, m_OpenPath.length() - 4);
       if (!currentfields.equals(shortname))
       {
         JOptionPane.showMessageDialog(CurtainDesign.m_UserMainGUI, "订单编号、客户区域、窗户编号或者窗户总数与现有文件名不符合，不能覆盖现有文件", "错误", 0);
         return false;
       }

       m_OpenFile = new File(m_OpenPath);
       CurtainDesign.m_orderfile.WriteOrderFile(m_OpenPath, m_NewOpenFile, true);
       CurtainDesign.m_PipeIndexFile.AppendPipeIndexFile(CurtainDesign.m_UserMainGUI.GetSelectStyle(), true);
       m_SavePath = m_OpenPath;
       CurtainDesign.m_UserMainGUI.SwitchWindow(Constants.TODO[1]);
       m_NewOpenFile = false;
       m_JustSaved = true;
       return true;
     }
     if (m_JustSaved == true)
     {
       String currentfields = CurtainDesign.m_UserMainGUI.GetOrderInfo().GetOrderIndex() + "_" + CurtainDesign.m_UserMainGUI.GetOrderInfo().GetClientRegion() + "_" + CurtainDesign.m_UserMainGUI.GetOrderInfo().GetWindowIndex() + "_" + CurtainDesign.m_UserMainGUI.GetOrderInfo().GetWindowNum();
       String shortname = m_SavePath.substring(m_SavePath.lastIndexOf("\\") + 1, m_SavePath.length() - 4);
       if (!currentfields.equals(shortname))
       {
         JOptionPane.showMessageDialog(CurtainDesign.m_UserMainGUI, "订单编号、客户区域、窗户编号或者窗户总数与现有文件名不符合，不能覆盖现有文件", "错误", 0);
         return false;
       }

       m_OpenFile = new File(m_SavePath);
       CurtainDesign.m_orderfile.WriteOrderFile(m_SavePath, m_NewOpenFile, true);

       CurtainDesign.m_UserMainGUI.SwitchWindow(Constants.TODO[1]);
       m_NewOpenFile = false;
       m_JustSaved = true;
       return true;
     }

     JFileChooser jfc = new JFileChooser(m_SavePath);
     jfc.setFont(new Font("Dialog", 0, 13));
     jfc.setFileFilter(new FileFilter()
     {
       public boolean accept(File f)
       {
         boolean accept = true;
         if (f.isFile()) {
           accept = f.getName().endsWith("xml");
         }
         return accept;
       }

       public String getDescription()
       {
         return "订单文件 (*.xml)";
       }
     });
     String defaultname = "" + CurtainDesign.m_UserMainGUI.GetOrderInfo().GetOrderIndex() + "_";
     defaultname = defaultname + CurtainDesign.m_UserMainGUI.GetOrderInfo().GetClientRegion() + "_";
     defaultname = defaultname + CurtainDesign.m_UserMainGUI.GetOrderInfo().GetWindowIndex() + "_";
     defaultname = defaultname + CurtainDesign.m_UserMainGUI.GetOrderInfo().GetWindowNum();
     File tmpfile;
     if ((m_SavePath == null) || (m_SavePath.equals(""))) {
       tmpfile = new File(defaultname);
     }
     else {
       String savedir = m_SavePath.substring(0, m_SavePath.lastIndexOf("\\"));
       tmpfile = new File(savedir + "\\" + defaultname);
     }

     jfc.setSelectedFile(tmpfile);
     if (jfc.showSaveDialog(CurtainDesign.m_UserMainGUI) == 0) {
       String filepath = jfc.getSelectedFile().getPath();
       if (!filepath.endsWith("xml")) {
         filepath = filepath + ".xml";
       }
       File check = new File(filepath);
       if (check.exists()) {
         int answer = JOptionPane.showConfirmDialog(CurtainDesign.m_UserMainGUI, "该订单文件已存在，是否要覆盖？");
         if ((answer == 1) || (answer == 2)) {
           return false;
         }

         m_OpenFile = new File(filepath);
         CurtainDesign.m_orderfile.WriteOrderFile(filepath, m_NewOpenFile, true);
         CurtainDesign.m_PipeIndexFile.AppendPipeIndexFile(CurtainDesign.m_UserMainGUI.GetSelectStyle(), true);
       }
       else
       {
         CurtainDesign.m_orderfile.WriteOrderFile(filepath, m_NewOpenFile, false);
         CurtainDesign.m_PipeIndexFile.AppendPipeIndexFile(CurtainDesign.m_UserMainGUI.GetSelectStyle(), false);
         m_OpenFile = new File(filepath);
       }
       m_SavePath = jfc.getSelectedFile().getPath();
       if (!m_SavePath.endsWith("xml")) {
         m_SavePath += ".xml";
       }

       m_NewOpenFile = false;
       m_JustSaved = true;
     }
     return true;
   }

   public void SetNewOpenFlag(boolean flag)
   {
     m_NewOpenFile = flag;
   }

   public String ReadOrderFileType(String orderfile) {
     String tmp = "";
     try {
       File xmlfile = new File(orderfile);
       OrderDocument doc = OrderDocument.Factory.parse(xmlfile);
       Orderinfo orderinfo = doc.getOrder();

       tmp = orderinfo.getWindowtype();
       if (tmp != null) {
         return tmp;
       }

       JOptionPane.showMessageDialog(null, "读取WindowType错误，请检查", "读文件错误", 0);
     }
     catch (Exception e)
     {
       e.printStackTrace();
     }

     return tmp;
   }
 }

/* Location:           C:\Users\Administrator\Desktop\奥特百叶窗\Shutter DesignerV3.1\CurtainDesign.jar
 * Qualified Name:     CurtainDesign.NaviView
 * JD-Core Version:    0.6.0
 */